package com.example.cmh.service;

import com.example.cmh.common.CustomException;
import com.example.cmh.common.PageResult;
import com.example.cmh.common.Result;
import com.example.cmh.pojo.Course;

import java.util.List;

public interface CourseService {
    Result<String> addCourse(Course course, Integer currentUserId) throws CustomException;
    Result<String> updateCourse(Boolean isAdmin, Course course) throws CustomException;
    Result<String> deleteCourse(Integer courseId) throws CustomException;
    Result<List<Course>> searchCourse(String courseName, Integer courseSort, Integer currentUserId) throws CustomException;
    Result<Course> getCourseDetail(Integer courseId) throws CustomException;
    Result<PageResult<Course>> getCourseListWithPage(String courseName, Integer courseSort, Integer currentUserId, Integer current) throws CustomException;
    Result<String> reviewCourse(Integer courseId, Integer status) throws CustomException;
} 